package sort.test3_27;
//选择排序  与冒泡的不同之处就在于    每一轮找到位于第二小的位置的坐标  然后进行交换
//冒泡排序直接进行数字值的交换而  选择排序知道待交换数字的下标后 最后再进行交换

public class XuanZe {

    public void choiceSort(int[] nums) {
        if (nums.length == 0) {
            return;
        }
        int min;
        //todo:寻找第ｉ位置上小的元素的下标
        for (int i = 0; i < nums.length; i++) {
            min = i;
//            todo:这个循环　遍历寻找
            for (int j = i; j < nums.length; j++) {
                if (nums[j] < nums[min]) {
                    min = j;
                }
            }
            if (i != min) {
                int temp = nums[i];
                nums[i] = nums[min];
                nums[min] = temp;
            }

        }
    }

    public static void main(String[] args) {
        XuanZe xuanZe = new XuanZe();
        int[] a={2,1,3,5,7,9};
        xuanZe.choiceSort(a);
        for (int temp:a
             ) {
            System.out.println(temp);

        }

    }


    public static class HeapSortDemo {
    }
}
